package it.unibo.refolding.pico;


public class NanoDriverDecorator implements NanoDriver {

	private final NanoDriver delegate;
	
	public NanoDriverDecorator(NanoDriver delegate) {
		this.delegate = delegate;
	}

	@Override
	public void zScanStartM(double value) {
		delegate.zScanStartM(value);
	}

	@Override
	public void reverseVelocityNmOrUmPerS(double value) {
		delegate.reverseVelocityNmOrUmPerS(value);
	}

	@Override
	public void rampSizeM(double rampSizeM) {
		delegate.rampSizeM(rampSizeM);
	}

	@Override
	public void single() {
		delegate.single();
	}

	@Override
	public void surfaceDelay(double surfaceDelayS) {
		delegate.surfaceDelay(surfaceDelayS);
	}

	@Override
	public void runScript() {
		delegate.runScript();
	}

	@Override
	public void startRampColumn1(double m) {
		delegate.startRampColumn1(m);
	}

	@Override
	public void endRampColumn1(double zScanStartM) {
		delegate.endRampColumn1(zScanStartM);
	}

	@Override
	public void velocityColumn1(double velocityMPerS) {
		delegate.velocityColumn1(velocityMPerS);
	}

	@Override
	public void delayColumn1(double s) {
		delegate.delayColumn1(s);
	}

	@Override
	public void deltaColumn2(double m) {
		delegate.deltaColumn2(m);
	}

	@Override
	public void deltaColumn3(double m) {
		delegate.deltaColumn3(m);
	}

	@Override
	public void loopCountColumn3(int count) {
		delegate.loopCountColumn3(count);
	}

	@Override
	public void captureButton() {
		delegate.captureButton();
	}

	@Override
	public void quitStripChart() {
		delegate.quitStripChart();
	}

	@Override
	public void resetStripChart() {
		delegate.resetStripChart();
	}

	@Override
	public void sleep(double timeS) {
		delegate.sleep(timeS);
	}

	@Override
	public void xOffsetM(double value) {
		delegate.xOffsetM(value);
	}

	@Override
	public void continuous() {
		delegate.continuous();
	}

	@Override
	public void velocityColumn2(double velocityMPerS) {
		delegate.velocityColumn2(velocityMPerS);
	}

	@Override
	public void velocityColumn3(double velocityMPerS) {
		delegate.velocityColumn3(velocityMPerS);
	}

	@Override
	public void forceMode() {
		delegate.forceMode();
	}

	@Override
	public void scriptMode() {
		delegate.scriptMode();
	}

	@Override
	public void startStripChart() {
		delegate.startStripChart();
	}

	@Override
	public void stop() {
		delegate.stop();
	}

	@Override
	public void scanRate(double scanRate) {
		delegate.scanRate(scanRate);
	}

	@Override
	public void numberOfSamples(int numberOfSamples) {
		delegate.numberOfSamples(numberOfSamples);
	}

	@Override
	public void ping() {
		delegate.ping();
	}

	@Override
	public void captureContinuous() {
		delegate.captureContinuous();
	}

	@Override
	public void abortCapture() {
		delegate.abortCapture();
	}

  @Override
  public boolean startOrPauseStripChartPixelIsRed() {
    return delegate.startOrPauseStripChartPixelIsRed();
  }

  @Override
  public void setupSingleScript(
    double startRampColumn1, double endRampColumn1, double velocityColumn1, double delayColumn1,
    double velocityColumn2, double deltaColumn2, double velocityColumn3, double deltaColumn3,
    int loopCountColumn3) {
    delegate.setupSingleScript(
      startRampColumn1, endRampColumn1, velocityColumn1, delayColumn1, velocityColumn2,
      deltaColumn2, velocityColumn3, deltaColumn3, loopCountColumn3);
  }

  @Override
  public void captureButtonResetStripChart() {
    delegate.captureButtonResetStripChart();
  }

  @Override
  public void startStripChartQuitStripChartForceMode() {
    delegate.startStripChartQuitStripChartForceMode();
  }

  @Override
  public void zScanStartMScriptModeStartStripChart(double zScanStartM) {
    delegate.zScanStartMScriptModeStartStripChart(zScanStartM);
  }

  @Override
  public void forceModeXOffsetScriptMode(double xOffsetM) {
    delegate.forceModeXOffsetScriptMode(xOffsetM);
  }

  @Override
  public void waitWhileStartOrPauseIsNotRed() {
    delegate.waitWhileStartOrPauseIsNotRed();
  }
}
